package com.ruoyi.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.business.domain.Question;
import com.ruoyi.business.domain.bo.FinishedHomeWorkBo;
import com.ruoyi.business.domain.bo.QuestionBo;
import com.ruoyi.business.domain.vo.CourseHomeWorkVo;
import org.springframework.beans.factory.annotation.Autowired;
import com.ruoyi.business.domain.vo.QuestionVo;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * @author 最爱喝兽奶
 * @create 2022/8/9
 **/
public interface IQuestionService extends IService<Question> {



    /**
     * 按照课程id来插入问题
     * @param boList 问题信息
     * @param courseId 课程信息
     */
    void insertQuestionByCourseId(List<QuestionBo> boList, String courseId);

    /**
     * 分页查询问题信息
     * @param bo
     * @return
     */
    TableDataInfo<QuestionVo> selectQuestionByPage(QuestionBo bo);

    /**
     * 根据传入的问题业务对象将问题插入至数据库中
     * @param bo
     */
    void insertQuestionByCourseId(QuestionBo bo);

    /**
     * 根据传入的问题的id，来查询问题信息
     * @param id 传入的问题id
     * @return 返回问题的vo对象
     */
    QuestionVo selectQuestionById(String id);

    /**
     * 修改问题信息
     * @param bo
     */
    void updateQuestionByCourseId(QuestionBo bo);

    /**
     * 按照课程id来获得作业
     * @param courseId 课程信息
     */
    List<CourseHomeWorkVo> getHomeWorkByCourseIdNoAnswer(String courseId);

     Boolean submitCourseAnswers(List<CourseHomeWorkVo> voLisgt,String courseId);


     List<CourseHomeWorkVo> getHomeWorkByCourseIdWithAnswer(FinishedHomeWorkBo bo);


    /**
     * 根据传入的id删除题目信息
     * @param id
     */
    void deleteQuestionById(String id);

    /**
     * 根据传入的id列表查询问题对象
     * @param ids
     * @return
     */
    List<QuestionVo> selectQuestionsByIds(List<String> ids);
}
